package com.briup.day12;

import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;

/**
 * @author lining
 * @date 2024/1/23 14:18
 */
public class TestHashMap {
    public void method(){
        //专门处理这种映射关系数据的集合类型 学号<----->姓名
        Map<Integer,String> map = new HashMap<>();
        //添加键值对的数据
        map.put(1,"jack");
        map.put(2,"tom");
        map.put(1,"bob");
        map.put(3,"rose");
        map.put(4,"lisi");
        System.out.println(map);
        //画图说明上述代码的实现过程
    }
    public void method2(Map<Integer,String> map){

        //获取指定key对应的value值
        String name = map.get(1);
        System.out.println("value值："+name);

        Set<Integer> ids = map.keySet();//获取所有key值
        Collection<String> names = map.values();//获取所有名字
        System.out.println(names);//[jack,tom,bob]
        //遍历操作
        Object[] stuIds = ids.toArray();
        for (int i = 0; i < stuIds.length; i++) {
            System.out.println(stuIds[i]+" = "+map.get(stuIds[i]));
        }
        //遍历方式：
        Set<Map.Entry<Integer, String>> set = map.entrySet();
        //Entry :是一个键值对对象
        for (Map.Entry entry:set){
            Object id = entry.getKey();
            Object sname = entry.getValue();
            System.out.println(id+":"+sname);
        }
    }
    public static void main(String[] args) {
        //获取map集合的元素
        Map<Integer,String> map = new HashMap<>();
        //添加键值对的数据
        map.put(1,"jack");
        map.put(2,"tom");
        map.put(3,"rose");
        map.put(null,null);
        System.out.println(map.isEmpty());//是否为空
        System.out.println(map.size());//获取元素个数
        map.remove(1);//删除指定key值元素
        System.out.println(map);
    }
}
